package com.candy.dao;

import com.candy.pojo.UserInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserInfoMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(UserInfo record);

    int insertSelective(UserInfo record);

    UserInfo selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(UserInfo record);

    int updateByPrimaryKey(UserInfo record);

    //    演示动态sql的使用（if）
    List<UserInfo> selectUserByParam(UserInfo userInfo);

    //    演示动态sql的使用（choose）
//    该标签类似于java中的switch，传入哪个条件，进行拼接哪个条件，若没有传入参数则拼接otherwise后的条件
//如果传入多个条件，在语句从上至下执行，读取到传入参数后返回，不会再执行后面的条件拼接
    List<UserInfo> selectUserByParam2(UserInfo userInfo);
//    演示动态sql的使用（foreach）
    List<UserInfo> selectByIds(List<Integer> ids);
//    根据传入参数实现模糊查询
    List<UserInfo> selectByLike(UserInfo userInfo);
//    多参数传递问题
    List<UserInfo> selectByMoreParam(String username,String useraddress);
//    使用注解解决多参数传递问题
    List<UserInfo> selectByMoreParam2(@Param("name") String username, @Param("address") String useraddress);



}